home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / SERISECT.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-29  |  8.3 KB  |  297 lines

  1. 10  'SERISECT - Series-Section Balun - 31 JAN 94 rev. 28 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  IF PROG$=""THEN GO$=EX$ ELSE GO$=PROG$
  4. 40  COMMON EX$,PROG$
  5. 50  CLS:KEY OFF
  6. 60  COLOR 7,0,1
  7. 70  UL$=STRING$(80,205)
  8. 80  ER$=STRING$(80,32)
  9. 90  U1$="####.###"
  10. 100  U2$="##.###"
  11. 110  U3$="###.###"
  12. 120  Q$=CHR$(34)
  13. 130  PI=3.14159
  14. 140  DIM C$(50,7)   'coax specs.
  15. 150  '
  16. 160  '.....start
  17. 170  CLS
  18. 180  OPEN"I",1,"\data\coaxial.fil"
  19. 190  FOR Z=1 TO 50:FOR Y=1 TO 7
  20. 200  INPUT#1,Z$
  21. 210  IF RIGHT$(Z$,5)=" Foam"THEN Z$=LEFT$(Z$,LEN(Z$)-5)+"(f)"
  22. 220  IF RIGHT$(Z$,6)="Belden"THEN Z$=LEFT$(Z$,4)
  23. 230  C$(Z,Y)=Z$
  24. 240  NEXT Y:NEXT Z
  25. 250  CLOSE
  26. 260  '
  27. 270  FOR Z=1 TO 44
  28. 280  C$(Z,2)=C$(Z,5)
  29. 290  C$(Z,3)=STR$(1/SQR(VAL(C$(Z,3))))
  30. 300  NEXT Z
  31. 310  '
  32. 320  COLOR 15,2
  33. 330  PRINT " SERIES-SECTION MATCHING TRANSFORMER";
  34. 340  PRINT TAB(57);"by George Murphy VE3ERP ";
  35. 350  COLOR 1,0:PRINT STRING$(80,223);
  36. 360  COLOR 7,0
  37. 370  T=22:GOSUB 2520    'print diagram
  38. 380  LOCATE 16
  39. 390  PRINT UL$;
  40. 400  PRINT " Press number in < > to choose standard units of measure:"
  41. 410  PRINT UL$;
  42. 420  PRINT "   < 1 >  Metric"
  43. 430  PRINT "   < 2 >  U.S.A./Imperial"
  44. 440  PRINT UL$;
  45. 450  PRINT "     or press < 0 > to EXIT...."
  46. 460  Z$=INKEY$:IF Z$=""THEN 460
  47. 470  IF Z$="0"THEN CLS:CHAIN GO$
  48. 480  IF Z$="1"THEN UM=0.3048:UM$=" metres ":GOTO 510
  49. 490  IF Z$="2"THEN UM=1:UM$=" feet ":GOTO 510
  50. 500  GOTO 460
  51. 510  VIEW PRINT 17 TO 24:CLS:VIEW PRINT:LOCATE 17
  52. 520  PRINT TAB(9);
  53. 530  PRINT "As an aid in selecting your main feed line and an appropriate"
  54. 540  PRINT TAB(9);
  55. 550  PRINT "matching section, a table of characteristics of commonly used"
  56. 560  PRINT TAB(9);
  57. 570  PRINT "coaxial transmission lines follows."
  58. 580  PRINT
  59. 590  PRINT TAB(9);
  60. 600  PRINT "Press number in < > to indicate how you want this table sorted:"
  61. 610  PRINT UL$;
  62. 620  PRINT "        < 1 >  Sort by type (e.g. RG-58 etc.)"
  63. 630  PRINT "        < 2 >  Sort by characteristic impedance and velocity factor";
  64. 640  Z$=INKEY$:IF Z$=""THEN 640
  65. 650  IF Z$="1"THEN 690
  66. 660  IF Z$="2"THEN GOSUB 2700:GOTO 690
  67. 670  GOTO 640
  68. 680  '
  69. 690  '.....select coax for main feed line
  70. 700  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  71. 710  GOSUB 2210      'print coax list
  72. 720  COLOR 15,2
  73. 730  INPUT " ENTER: No. from above table to select coax for MAIN FEED LINE ";MF
  74. 740  COLOR 7,0
  75. 750  IF MF>=1 AND MF<=44 THEN 780
  76. 760  BEEP:LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1:GOTO 730
  77. 770  '
  78. 780  '.....select coax for matching section
  79. 790  VIEW PRINT 23 TO 24:CLS:VIEW PRINT:LOCATE 23
  80. 800  COLOR 15,4
  81. 810  INPUT " ENTER: No. from above table to select coax for MATCHING SECTION ";MS
  82. 820  COLOR 7,0
  83. 830  IF MS>=1 AND MS<=43 THEN 860
  84. 840  BEEP:LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1:GOTO 800
  85. 850  '
  86. 860  '.....impedances
  87. 870  X$=C$(MF,1)
  88. 880  IF RIGHT$(X$,1)=")"THEN X$=LEFT$(X$,LEN(X$)-3)+" foam":C$(MF,1)=X$
  89. 890  X$=C$(MS,1)
  90. 900  IF RIGHT$(X$,1)=")"THEN X$=LEFT$(X$,LEN(X$)-3)+" foam":C$(MS,1)=X$
  91. 910  Z0=VAL(C$(MF,2))   'impedance of main feed line
  92. 920  Z1=VAL(C$(MS,2))   'impedance of matching section
  93. 930  VIEW PRINT 2 TO 24:CLS:VIEW PRINT:LOCATE 2
  94. 940  COLOR 1,0:PRINT STRING$(80,223);
  95. 950  COLOR 7,0
  96. 960  '
  97. 970  INPUT " ENTER: Frequency of operation............(MHz)";F
  98. 980  IF F=0 THEN LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1:GOTO 970
  99. 990  WFT=984/F          'wavelength in feet
  100. 1000  LOCATE CSRLIN-1:PRINT STRING$(7,32)
  101. 1010  LOCATE CSRLIN-1,42:PRINT "......";USING U1$;F;:PRINT " MHz"
  102. 1020  '
  103. 1030  INPUT " ENTER: Antenna load impedance...........(ohms)";RL
  104. 1040  IF RL=0 THEN LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1:GOTO 1140
  105. 1050  LOCATE CSRLIN-1:PRINT STRING$(7,32)
  106. 1060  LOCATE CSRLIN-1,42:PRINT "......";USING U1$;RL;:PRINT " -"
  107. 1070  '
  108. 1080  PRINT "        Impedance of main feed line............";USING U1$;Z0;
  109. 1090  PRINT " - (";C$(MF,1);")"
  110. 1100  '
  111. 1110  PRINT "        Impedance of matching section..........";USING U1$;Z1;
  112. 1120  PRINT " - (";C$(MS,1);")"
  113. 1130  '
  114. 1140  '.....normalize impedances
  115. 1150  ZL=RL+JXL   'note: JXL normally does not apply to Amateur antennas
  116. 1160  N=Z1/Z0
  117. 1170  R=RL/Z0
  118. 1180  X=XL/Z0
  119. 1190  SWR=1/R:IF SWR<1 THEN SWR=R
  120. 1200  PRINT "        SWR....................................";USING "####.#";SWR;
  121. 1210  PRINT ":1"
  122. 1220  '
  123. 1230  '.....calculation
  124. 1240  LOZ=Z0/SQR(SWR)
  125. 1250  HIZ=Z0*SQR(SWR)
  126. 1260  IF Z1<LOZ OR Z1>HIZ THEN 1430
  127. 1270  '
  128. 1280  '.....inappropriate impedances
  129. 1290  BEEP:PRINT
  130. 1300  COLOR 14,4
  131. 1310  LOCATE CSRLIN,8
  132. 1320  PRINT " Matching section impedance must be either more than";USING U1$;HIZ;
  133. 1330  PRINT " -  "
  134. 1340  LOCATE CSRLIN,8
  135. 1350  PRINT "                                        or less than";USING U1$;LOZ;
  136. 1360  PRINT " -  "
  137. 1370  COLOR 7,0
  138. 1380  PRINT
  139. 1390  PRINT TAB(9);"Press any key to start over........."
  140. 1400  IF INKEY$=""THEN 1400
  141. 1410  GOTO 160   'start
  142. 1420  '
  143. 1430  VF=VAL(C$(MS,3))     'velocity factor
  144. 1440  IF RL=Z0 THEN L1=0:L2=0:GOTO 1590
  145. 1450  EQ1=(R-1)^2+X^2
  146. 1460  EQ2=R*(N-1/N)^2
  147. 1470  EQ3=(R-1)^2-X^2
  148. 1480  '
  149. 1490  B=SQR(EQ1/(EQ2-EQ3))
  150. 1500  IF SGN(B)=-1 THEN B=B*-1
  151. 1510   L2=ATN(B)*180/PI
  152. 1520  EQ4=(N-R/N)*B+X
  153. 1530  EQ5=R+X*N*B-1
  154. 1540  '
  155. 1550  A=EQ4/EQ5
  156. 1560   L1=ATN(A)*180/PI
  157. 1570   IF SGN(L1)=-1 THEN L1=L1+180
  158. 1580  '
  159. 1590  W=WFT*VF
  160. 1600  L1FT=L1*W/360
  161. 1610  L2FT=L2*W/360
  162. 1620  DIF=LEN(C$(MS,1))-LEN(C$(MF,1))
  163. 1630  '
  164. 1640  COLOR 15,2:LOCATE CSRLIN,7
  165. 1650  PRINT "  Line from antenna to matching section..";USING U1$;L1FT*UM;
  166. 1660  PRINT UM$;" of ";C$(MF,1);
  167. 1670  IF SGN(DIF)=1 THEN PRINT STRING$(DIF+1," ")ELSE PRINT " "
  168. 1680  '
  169. 1690  LOCATE CSRLIN,7
  170. 1700  PRINT "  Matching section.......................";USING U1$;L2FT*UM;
  171. 1710  PRINT UM$;" of ";C$(MS,1);
  172. 1720  IF SGN(DIF)=-1 THEN PRINT STRING$(ABS(DIF)+1," ")ELSE PRINT " "
  173. 1730  COLOR 7,0
  174. 1740  PRINT UL$;
  175. 1750  '
  176. 1760  T=22:LOCATE 11:GOSUB 2520   'print diagram
  177. 1770  COLOR 0,7
  178. 1780  LOCATE 13,T+6:PRINT USING "###.#";Z0;:PRINT " -"
  179. 1790  LOCATE 17,T+1:PRINT USING "###.#";Z1;:PRINT " -"
  180. 1800  LOCATE 21,T+6:PRINT USING "###.#";Z0;:PRINT " -"
  181. 1810  '
  182. 1820  COLOR 0,7
  183. 1830  LOCATE 13,T+25:PRINT "(";C$(MF,1);")"
  184. 1840  COLOR 7,0
  185. 1850  LOCATE 13,T+38:PRINT "DEFSNGSOUND";USING U3$;L1FT;:PRINT " ft."
  186. 1860  LOCATE 14,T+40:PRINT USING U3$;L1FT*0.3048;:PRINT " m."
  187. 1870  '
  188. 1880  COLOR 0,7
  189. 1890  LOCATE 17,T+29:PRINT "(";LEFT$(C$(MS,1),7);")"
  190. 1900  COLOR 7,0
  191. 1910  LOCATE 17,T+38:PRINT "DEFSNGSOUND";USING U3$;L2FT;:PRINT " ft."
  192. 1920  LOCATE 18,T+40:PRINT USING U3$;L2FT*0.3048;:PRINT " m."
  193. 1930  '
  194. 1940  COLOR 0,7
  195. 1950  LOCATE 21,T+25:PRINT "(";C$(MF,1);")"
  196. 1960  COLOR 7,0
  197. 1970  LOCATE 24:PRINT UL$;
  198. 1980  '
  199. 1990  '.....end
  200. 2000  GOSUB 2840
  201. 2010  GOTO 160   'start
  202. 2020  END
  203. 2030  '
  204. 2040  '.....coaxial cable specs.
  205. 2050  DATA RG-6,75,.75,           RG-8X,52,.75,           RG-8,52,.66
  206. 2060  DATA RG-8(f),50,.8,         RG-8A,52,.66,           RG-9,51,.66
  207. 2070  DATA RG-9A,51,.66,          RG-9B,50,.66,           RG-11,75,.66
  208. 2080  DATA RG-11(f),75,.8,        RG-11A,75,.66,          RG-12,75,.66
  209. 2090  DATA RG-12A,75,.66,         RG-17,52,.66,           RG-17A,52,.66
  210. 2100  DATA RG-55,53.5,.66,        RG-55A,50,.66,          RG-55B,53.5,.66
  211. 2110  DATA RG-58,53.5,.66,        RG-58(f),53.5,.79,      RG-58A,53.5,.66
  212. 2120  DATA RG-58B,53.5,.66,       RG-58C,50,.66,          RG-59,73,.66
  213. 2130  DATA RG-59(f),75,.79,       RG-59A,73,.66,          RG-62,93,.86
  214. 2140  DATA RG-62A,93,.86,         RG-62B,93,.86,          RG-133A,95,.86
  215. 2150  DATA RG-141,50,.7,          RG-141A,50,.7,          RG-142,50,.7
  216. 2160  DATA RG-142A,50,.7,         RG-142B,50,.7,          RG-174,50,.66
  217. 2170  DATA RG-213,50,.66,         RG-214,50,.66,          RG-215,50,.66
  218. 2180  DATA RG-216,75,.66,         RG-223,50,.66,          9913,50,.84
  219. 2190  DATA 9914,50,.78,           -,-,-,                  -,-,-
  220. 2200  '
  221. 2210  '.....print coax list
  222. 2220  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  223. 2230  '
  224. 2240  LOCATE CSRLIN-1,27:PRINT "CALL":LOCATE CSRLIN-1,54:PRINT "CALL"
  225. 2250  PRINT " No. Type     Z(-)   V.F. CALL";
  226. 2260  PRINT " No. Type     Z(-)   V.F. CALL";
  227. 2270  PRINT " No. Type     Z(-)   V.F."
  228. 2280  PRINT UL$;
  229. 2290  LOCATE CSRLIN-1,27:PRINT "INSTR":LOCATE CSRLIN-1,54:PRINT "INSTR"
  230. 2300  '
  231. 2310     FOR Z=1 TO 15
  232. 2320  IF LEN(STR$(Z))=3 THEN PRINT STR$(Z)+":";ELSE PRINT " "+STR$(Z)+":";
  233. 2330  PRINT TAB(6);C$(Z,1);TAB(15);USING "##.#";VAL(C$(Z,2));
  234. 2340  PRINT TAB(21);USING ".####";VAL(C$(Z,3));
  235. 2350  PRINT TAB(27);"CALL"+STR$(Z+15)+":";
  236. 2360  PRINT TAB(33);C$(Z+15,1);TAB(42);USING "##.#";VAL(C$(Z+15,2));
  237. 2370  PRINT TAB(48)USING ".####";VAL(C$(Z+15,3));
  238. 2380  PRINT TAB(54);"CALL";
  239. 2390  IF Z=15 THEN PRINT "":GOTO 2430
  240. 2400  PRINT STR$(Z+30)+":";
  241. 2410  PRINT TAB(60);C$(Z+30,1);TAB(69);USING "##.#";VAL(C$(Z+30,2));
  242. 2420  PRINT TAB(75)USING ".####";VAL(C$(Z+30,3))
  243. 2430     NEXT Z
  244. 2440  '
  245. 2450  PRINT UL$;
  246. 2460  LOCATE CSRLIN-1,27:PRINT "STEP":LOCATE CSRLIN-1,54:PRINT "STEP"
  247. 2470  PRINT " NOTE: (f) denotes foam dielectric, Z = Impedance, ";
  248. 2480  PRINT "V.F.= Velocity Factor"
  249. 2490  PRINT UL$;
  250. 2500  RETURN
  251. 2510  '
  252. 2520  '......diagram
  253. 2530  COLOR 0,7
  254. 2540  LOCATE CSRLIN,T:PRINT " SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLORVARPTRSOUNDSOUNDSOUNDSOUNDSOUNDantennaSOUNDSOUNDSOUNDSOUNDSOUND "
  255. 2550  LOCATE CSRLIN,T:PRINT "                  CALLCALL                  "
  256. 2560  LOCATE CSRLIN,T:PRINT "      Coaxial FeedCALLCALLLine              "
  257. 2570  LOCATE CSRLIN,T:PRINT "                  CALLCALL                  "
  258. 2580  LOCATE CSRLIN,T:PRINT "                 VARPTR'CLSCOLOR                 "
  259. 2590  LOCATE CSRLIN,T:PRINT "                 CALL  CALL                 "
  260. 2600  LOCATE CSRLIN,T:PRINT " Coaxial MatchingCALL  CALLSection          "
  261. 2610  LOCATE CSRLIN,T:PRINT "                 CALL  CALL                 "
  262. 2620  LOCATE CSRLIN,T:PRINT "                 CLSCOLORVARPTR'                 "
  263. 2630  LOCATE CSRLIN,T:PRINT "                  CALLCALL                  "
  264. 2640  LOCATE CSRLIN,T:PRINT "      Coaxial MainCALLCALLLine              "
  265. 2650  LOCATE CSRLIN,T:PRINT "                  CALLCALL                  "
  266. 2660  LOCATE CSRLIN,T:PRINT "             from station             "
  267. 2670  COLOR 7,0
  268. 2680  RETURN
  269. 2690  '
  270. 2700  '.....sort      ******START SORT******
  271. 2710  SN=43
  272. 2720  SM=SN
  273. 2730  SM=INT(SM/2):IF SM=0 THEN 2820
  274. 2740  SK=SN-SM:SJ=1
  275. 2750  SI=SJ
  276. 2760  SL=SI+SM
  277. 2770  IF C$(SI,2)+C$(SI,3)+C$(SI,1)<=C$(SL,2)+C$(SL,3)+C$(SL,1)THEN 2800
  278. 2780  FOR Z=1 TO 3:SWAP C$(SI,Z),C$(SL,Z):NEXT Z
  279. 2790  SI=SI-SM:IF SI>0 THEN 2760
  280. 2800  SJ=SJ+1:IF SJ>SK THEN 2730
  281. 2810  GOTO 2750
  282. 2820  RETURN       '******SORT COMPLETED******
  283. 2830  '
  284. 2840  'HARDCOPY
  285. 2850  GOSUB 2960:LOCATE 25,2:COLOR 14,6
  286. 2860  PRINT " Press 1 to print screen, 2 to print screen & ";
  287. 2870  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  288. 2880  Z$=INKEY$:IF Z$="3"THEN GOSUB 2960:RETURN
  289. 2890  IF Z$="1"OR Z$="2"THEN GOSUB 2960:GOTO 2910
  290. 2900  GOTO 2880
  291. 2910  FOR QX=1 TO 24:FOR QY=1 TO 80
  292. 2920  LPRINT CHR$(SCREEN(QX,QY));
  293. 2930  NEXT QY:NEXT QX
  294. 2940  IF Z$="2"THEN LPRINT CHR$(12)
  295. 2950  GOTO 2850
  296. 2960  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  297.